Skip to content

Add bootstrap-migrate-v3-to-v5 skill for Power Pages (Bootstrap 3 -> 5) - #181

Merged
Tanvi Dahiya (T-Dahiya-003) merged 8 commits into
mainfrom
users/tanvidahiya/migratev5
Aug 14, 2026
Merged

Add bootstrap-migrate-v3-to-v5 skill for Power Pages (Bootstrap 3 -> 5)#181
Tanvi Dahiya (T-Dahiya-003) merged 8 commits into
mainfrom
users/tanvidahiya/migratev5

Conversation

@T-Dahiya-003

@T-Dahiya-003 Tanvi Dahiya (T-Dahiya-003) commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Adds the /power-pages:bootstrap-migrate-v3-to-v5 skill that orchestrates pac pages bootstrap-migrate, applies AI-assisted residual fixes (page-header, glyphicons, mangled custom CSS), uploads, verifies the Bootstrap 5 runtime flag flip via pac-log.txt, and validates.

Includes SKILL.md, reference recipes, and the eval.

Adds the /power-pages:migrate-to-v5 skill that orchestrates
`pac pages bootstrap-migrate`, applies AI-assisted residual fixes
(page-header, glyphicons, mangled custom CSS), uploads, verifies the
Bootstrap 5 runtime flag flip via pac-log.txt, and validates.

Includes SKILL.md, reference recipes, and the eval. Drops the internal
PLAN.md design doc (authoring artifact, not used at runtime).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@T-Dahiya-003
Tanvi Dahiya (T-Dahiya-003) requested a review from a team as a code owner June 4, 2026 14:26
Copilot AI lite review requested due to automatic review settings June 4, 2026 14:26

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bump the version in /plugins/power-pages/.claude-plugin/plugin.json to 2.1.0

Comment thread plugins/power-pages/skills/migrate-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/migrate-bootstrap/SKILL.md

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Power Pages skill, /power-pages:migrate-to-v5, to guide migration of classic Power Pages sites from Bootstrap 3 to Bootstrap 5 using pac pages bootstrap-migrate, followed by assisted residual fixes, upload, runtime-flag verification via pac-log.txt, and validation.

Changes:

  • Added the migrate-to-v5 skill playbook (SKILL.md) with an 8-phase orchestration flow.
  • Added reference documentation for the migration engine output/behavior and a manual-fix “recipe book”.
  • Added an eval suite covering common migration scenarios (already-downloaded site, unauthenticated user, code-site stop condition, runtime-flag flip troubleshooting).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.

File Description
plugins/power-pages/skills/migrate-to-v5/SKILL.md New skill orchestration guide for Bootstrap 3→5 migration, upload, verification, and validation.
plugins/power-pages/skills/migrate-to-v5/references/migration-engine-reference.md Reference for pac pages bootstrap-migrate outputs and the upload post-processor flag flip behavior.
plugins/power-pages/skills/migrate-to-v5/references/bootstrap-v5-manual-fixes.md Manual fix recipes for residual migration items the engine only flags.
evals/power-pages/migrate-to-v5/evals.json Evaluation prompts/expectations for the new skill’s core flows and guardrails.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugins/power-pages/skills/migrate-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/migrate-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/migrate-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/migrate-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/migrate-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md Outdated
Tanvi Dahiya and others added 2 commits July 22, 2026 15:07
- Rename skill + eval folders (git mv, preserves history)
- Use 'traditional' instead of 'classic' throughout SKILL.md
- Renumber Phase 2 sections (activation check 2.2, snapshot 2.3) and fix cross-reference
- Align tracking name to BootstrapMigrateV3ToV5; add mapping-table entry
- Activation probe: curl -sL to treat 3xx as active; fetch body on 4xx/5xx to check unactivated signature

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 254d90e7-220c-4886-a833-53db72c18394
Copilot AI review requested due to automatic review settings July 22, 2026 10:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.

Comment thread plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md Outdated
- Add gate/not-a-gate markers with prose blocks for AskUserQuestion prompts
- Catalogue gates in approval-gates.md (section 6.31)
- Use PLUGIN_ROOT instead of CLAUDE_PLUGIN_ROOT
- Add Skill to allowed-tools; switch grep -i to grep -iE
- List skill under Migration in README

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 254d90e7-220c-4886-a833-53db72c18394
Copilot AI review requested due to automatic review settings July 23, 2026 08:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (1)

plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md:9

  • PR title/description says this adds a /power-pages:migrate-to-v5 skill, but the implementation and documentation added in this PR are consistently named /bootstrap-migrate-v3-to-v5 (skill frontmatter name, README section, evals, approval-gates, tracking mapping). Please align the PR metadata and/or the skill naming so users know the correct invocation name.
name: bootstrap-migrate-v3-to-v5
description: >-
  Migrates a traditional Power Pages site from Bootstrap 3 to Bootstrap 5. Downloads the
  site, runs the pac pages bootstrap-migrate engine, reviews the change report, applies
  AI-assisted fixes for the residual hierarchy/CSS changes the engine only flags, uploads
  the migrated site (which auto-enables the Bootstrap 5 runtime flag), verifies the flag,
  and validates. Use when the user wants to upgrade an older Bootstrap-3 portal to
  Bootstrap 5. NOT for code sites (React/Vue/Angular/Astro) — those are never Bootstrap-3.

Comment thread plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md Outdated
Comment thread plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md Outdated
…ctRoot in bootstrap-migrate-v3-to-v5

- Use git -C on both add and commit so per-category commits target the V5 copy
- Pass --projectRoot and document the traditional-download no-op for skill tracking

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 254d90e7-220c-4886-a833-53db72c18394
Copilot AI review requested due to automatic review settings July 23, 2026 09:07
@T-Dahiya-003 Tanvi Dahiya (T-Dahiya-003) changed the title Add migrate-to-v5 skill for Power Pages (Bootstrap 3 -> 5) Add bootstrap-migrate-v3-to-v5 skill for Power Pages (Bootstrap 3 -> 5) Jul 23, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (2)

plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md:3

  • The PR description/title mention a /power-pages:migrate-to-v5 skill, but the implemented skill name is bootstrap-migrate-v3-to-v5 (and docs/evals also use that). This mismatch will confuse users and makes it unclear which invocation name is intended. Align the PR description and/or rename the skill (including folder name, references, approval-gates entry, README section, and evals) so there is a single canonical command name.
---
name: bootstrap-migrate-v3-to-v5
description: >-

plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md:383

  • This step says --projectRoot "<MIGRATED_FOLDER>" is "the folder containing powerpages.config.json", but this skill explicitly targets classic/traditional downloads where powerpages.config.json is not present. The parenthetical is misleading and contradicts the next sentence that says tracking is a no-op for traditional sites.
3. **Record skill usage** — follow `${PLUGIN_ROOT}/references/skill-tracking-reference.md`, passing
   `--projectRoot "<MIGRATED_FOLDER>"` (the folder containing `powerpages.config.json`) and
   `--skillName "BootstrapMigrateV3ToV5"`. Tracking only writes when the project is a **code site**
   (`.powerpages-site/site-settings/` exists); for a traditional/native download the script exits
   silently as a no-op — that is expected, so call it unconditionally and don't treat the no-op as an
   error. If tracking files are written, include them in the final commit.

Comment thread plugins/power-pages/README.md Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 254d90e7-220c-4886-a833-53db72c18394
Copilot AI review requested due to automatic review settings July 23, 2026 09:15
@T-Dahiya-003
Tanvi Dahiya (T-Dahiya-003) enabled auto-merge (squash) July 23, 2026 09:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (4)

plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md:110

  • Phase 2’s local-folder validation currently checks for website.yml and sitesetting.yml at the root. In this plugin, PAC-downloaded site identity is normally .powerpages-site/website.yml and site settings live under .powerpages-site/site-settings/ (see scripts/lib/detect-project-context.js:72-105). As written, a valid downloaded site can be incorrectly rejected.
- **If the user provided a local site folder path** (or `$ARGUMENTS` names one): verify it exists
  and looks like a downloaded traditional site (contains `website.yml` and `sitesetting.yml`). Use it
  as `SITE_FOLDER`.

plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md:313

  • The Phase 7.1 pre-flight checks reference website.yml containing adx_websiteid and a monolithic sitesetting.yml. In this repo, .powerpages-site/website.yml is a flat file with id: / name: keys (scripts/lib/detect-project-context.js:72-105), and site settings are stored as separate *.sitesetting.yml files under .powerpages-site/site-settings/. Please align the gating checks to that structure (or explicitly call out if this migration engine uses a different legacy layout).
- `website.yml` must have a valid `adx_websiteid`.
- `sitesetting.yml` must contain `Site/BootstrapV5Enabled` with value `true`.

Verify both (`Grep`/`Read`). If either is missing, the flag flip silently no-ops — fix before uploading.

plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/SKILL.md:382

  • The skill-usage tracking guidance is internally inconsistent: it says --projectRoot "<MIGRATED_FOLDER>" is “the folder containing powerpages.config.json”, but this skill is explicitly for traditional/non-code sites (which typically do not have powerpages.config.json). Also, the tracking script requires --authoringTool (plugins/power-pages/references/skill-tracking-reference.md, plugins/power-pages/scripts/update-skill-tracking.js:29-32).
3. **Record skill usage** — follow `${PLUGIN_ROOT}/references/skill-tracking-reference.md`, passing
   `--projectRoot "<MIGRATED_FOLDER>"` (the folder containing `powerpages.config.json`) and
   `--skillName "BootstrapMigrateV3ToV5"`. Tracking only writes when the project is a **code site**
   (`.powerpages-site/site-settings/` exists); for a traditional/native download the script exits
   silently as a no-op — that is expected, so call it unconditionally and don't treat the no-op as an

plugins/power-pages/skills/bootstrap-migrate-v3-to-v5/references/migration-engine-reference.md:41

  • This step claims the engine appends Site/BootstrapV5Enabled into a monolithic sitesetting.yml. Elsewhere in the plugin, site settings are represented as individual *.sitesetting.yml files under .powerpages-site/site-settings/ (see plugins/power-pages/scripts/create-site-setting.js and references/skill-tracking-reference.md). Consider rewording this to describe the setting by name/value rather than a single-file format.
3. Replaces the embedded `bootstrap.min.css` (v3) with the Bootstrap 5 stylesheet.
4. Appends a `Site/BootstrapV5Enabled` record (value `true`) to `sitesetting.yml`
   (skipped if already present).

Comment thread plugins/power-pages/skills/migrate-bootstrap/SKILL.md
…trap

Renames the skill directory, eval directory, SKILL.md name, all five
approval-gate ids, the approval-gates catalog section, the skill-tracking
entry (MigrateBootstrap / Site/AI/Skills/MigrateBootstrap), the README
entry, and the reference-doc mentions.

The pac pages bootstrap-migrate CLI verb is unrelated and left untouched.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c10b282d-bbe9-4fab-ad9f-4bf333ad953b
Copilot AI review requested due to automatic review settings August 14, 2026 07:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.

Suppressed comments (2)

plugins/power-pages/skills/migrate-bootstrap/SKILL.md:2

  • PR title/description says this adds /power-pages:bootstrap-migrate-v3-to-v5, but the shipped skill is named migrate-bootstrap (and README/evals/approval-gates also reference /migrate-bootstrap). Please align the PR metadata and the skill invocation name so users aren’t told to run a command that doesn’t exist, or rename the skill + all references consistently.
name: migrate-bootstrap

plugins/power-pages/skills/migrate-bootstrap/SKILL.md:383

  • --projectRoot "<MIGRATED_FOLDER>" (the folder containing powerpages.config.json) is misleading for classic/traditional downloads (they don’t have powerpages.config.json). Suggest wording that --projectRoot should be the code-site root when applicable, and that passing <MIGRATED_FOLDER> for classic sites is fine because the script no-ops unless .powerpages-site/site-settings/ exists.
   `--projectRoot "<MIGRATED_FOLDER>"` (the folder containing `powerpages.config.json`) and

@T-Dahiya-003
Tanvi Dahiya (T-Dahiya-003) merged commit 371ca11 into main Aug 14, 2026
8 of 9 checks passed
@T-Dahiya-003
Tanvi Dahiya (T-Dahiya-003) deleted the users/tanvidahiya/migratev5 branch August 14, 2026 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants